package com.mydomain.Bodega;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.faces.context.FacesContext;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jgroups.protocols.TOTAL;

@Scope(ScopeType.CONVERSATION)
@Name("ingresoListado")
public class IngresoListado {

	private List<InvIngresoItem> ingresoItems = new ArrayList<InvIngresoItem>();

	private BigDecimal iniIva;
	private BigDecimal iniDescuento;
	private BigDecimal iniCostoTotal;

	private BigDecimal iniSumaParcial;
	private BigDecimal iniSuma;
private  BigDecimal iniTotal;
	

	public void iniciarInvIngresoListado() {
		ingresoItems.add(new InvIngresoItem());
	}

	public BigDecimal getIniSumaParcial() {
		return iniSumaParcial;
	}

	public void setIniSumaParcial(BigDecimal iniSumaParcial) {
		this.iniSumaParcial = iniSumaParcial;
	}

	public BigDecimal getIniSuma() {
		return iniSuma;
	}

	public void setIniSuma(BigDecimal iniSuma) {
		this.iniSuma = iniSuma;
	}

	public BigDecimal getIniIva() {
		return iniIva;
	}

	public void setIniIva(BigDecimal iniIva) {
		this.iniIva = iniIva;
	}

	public BigDecimal getIniDescuento() {
		return iniDescuento;
	}

	public void setIniDescuento(BigDecimal iniDescuento) {
		this.iniDescuento = iniDescuento;
	}

	public BigDecimal getIniCostoTotal() {
		return iniCostoTotal;
	}

	public void setIniCostoTotal(BigDecimal iniCostoTotal) {
		this.iniCostoTotal = iniCostoTotal;
	}

	public String agregarItems() {
		Departamento departamento = new Departamento();
		InvIngresoItem nuevoIngresoItem = new InvIngresoItem();
		nuevoIngresoItem.setDepartamento(departamento);
		this.ingresoItems.add(nuevoIngresoItem);
		System.out.println("Holaa");
		return "holaaa";
	}

	@Factory("ingresoItems")
	public List<InvIngresoItem> getListado() {
		System.out.println(ingresoItems.size());
		return this.ingresoItems;
	}

	public String BorraSeleccionado() {
		Iterator<InvIngresoItem> entries = ingresoItems.iterator();
		while (entries.hasNext()) {
			InvIngresoItem ingresos = entries.next();
			if (ingresos.getSeleccionarManual()) {
				entries.remove();
			}
		}
		return null;
	}

	public BigDecimal getIniTotal() {
		if (!ingresoItems.isEmpty()){
		Iterator<InvIngresoItem> entries = ingresoItems.iterator();
		 while (entries.hasNext()) { InvIngresoItem ingresos = entries.next();
		 iniTotal
		.add(iniTotal.add(ingresos.getIniCostoU().multiply(ingresos.getIniCostoU
		 ()))); }
		}
		return iniTotal;
	}
}